Skip to content

chore: add pre-commit hooks, GitHub Actions CI, dev deps, editorconfig - #3

Merged
vandan-revanur merged 12 commits into
feature/rust-fixes-benchmarks-testsfrom
feat/python-tooling-pre-commit-ci
Jul 31, 2026
Merged

chore: add pre-commit hooks, GitHub Actions CI, dev deps, editorconfig#3
vandan-revanur merged 12 commits into
feature/rust-fixes-benchmarks-testsfrom
feat/python-tooling-pre-commit-ci

Conversation

@vandan-revanur

Copy link
Copy Markdown
Owner

Summary

Incorporates the python-cookiecutter tooling from developer_tools into chem-engine.

What's added

File Purpose
.pre-commit-config.yaml pre-commit + pre-push hooks (ruff, detect-secrets, testmon, xdist)
.github/workflows/ci.yml CI pipeline: lint → build+test → rdkit-validation
.editorconfig Consistent editor settings
.secrets.baseline detect-secrets baseline

Changes to pyproject.toml

  • Added [dependency-groups] dev with pytest, pytest-cov, ruff, mypy, pytest-testmon, pytest-xdist
  • Added [tool.pytest.ini_options], [tool.coverage.*], [tool.ruff], [tool.mypy]

CI pipeline

push / PR
│
├── lint  (ruff check, ruff format --check, mypy)        ← fast gate
│
├── test  (maturin develop --release + pytest -n auto)   ← needs: lint
│
└── rdkit-validation  (main/master only)                  ← needs: test

Pre-commit setup (first time)

# Build the Rust extension first
maturin develop --release
# Create venv and install dev deps
python -m venv .venv && source .venv/bin/activate
pip install pytest pytest-cov pytest-testmon pytest-xdist ruff mypy
# Regenerate secrets baseline
detect-secrets scan > .secrets.baseline
# Install hooks
pre-commit install --install-hooks
pre-commit install --hook-type pre-push

@vandan-revanur
vandan-revanur merged commit 4ebb7e7 into feature/rust-fixes-benchmarks-tests Jul 31, 2026
3 checks passed
@vandan-revanur
vandan-revanur deleted the feat/python-tooling-pre-commit-ci branch July 31, 2026 15:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant